39 #ifndef PopulationManagerH
40 #define PopulationManagerH
158 void DEADCODEError();
302 void FileOutput(
int No,
int time,
int ProbeNo );
310 if (!(*m_MyFile).is_open())
367 if (
m_n == 0)
return -1;
442 unsigned int FarmAnimalCensus(
unsigned int a_farm,
unsigned int a_typeofanimal);
448 void LOG(
const char* fname);
458 virtual void Run(
int NoTSteps);
472 return (
unsigned)
TheArray[listindex].size();
482 if (
TheArray[listindex].size() > 1)
return false;
else
491 return TheArray[listindex][j]->WhatState();
493 virtual void SupplyLocXY(
unsigned listindex,
unsigned j,
int & x,
int & y) {
494 x =
TheArray[listindex][j]->Supply_m_Location_x();
495 y =
TheArray[listindex][j]->Supply_m_Location_y();
506 #ifdef __ALMASS_VISUAL
507 ALMaSSGUI * m_MainForm;
555 void SortX(
unsigned Type);
557 void SortY(
unsigned Type);
601 lamdagrid[1][x / __lgridsize][y / __lgridsize]++;
604 lamdagrid[0][x / __lgridsize][y / __lgridsize]++;
607 lamdagrid[0][x / __lgridsize][y / __lgridsize] += z;
610 for (
int i = 0; i < 257; i++) {
611 for (
int j = 0; j < 257; j++) {
vector< TAnimal * > TListOfAnimals
Definition: PopulationManager.h:50
char * AnsiString
Definition: PopulationManager.h:46
TTypesOfPopulation
An enum to hold all the possible types of population handled by a Population_Manager class.
Definition: PopulationManager.h:59
@ TOP_Beetle
Definition: PopulationManager.h:63
@ TOP_Hunters
Definition: PopulationManager.h:77
@ TOP_ApisRAM
Definition: PopulationManager.h:71
@ TOP_LaceWing
Definition: PopulationManager.h:78
@ TOP_Vole
Definition: PopulationManager.h:61
@ TOP_RoeDeer
Definition: PopulationManager.h:67
@ TOP_Hare
Definition: PopulationManager.h:64
@ TOP_Goose
Definition: PopulationManager.h:66
@ TOP_Osmia
Definition: PopulationManager.h:70
@ TOP_foobar
Definition: PopulationManager.h:79
@ TOP_Rabbit
Definition: PopulationManager.h:68
@ TOP_Predators
Definition: PopulationManager.h:76
@ TOP_Newt
Definition: PopulationManager.h:69
@ TOP_Skylark
Definition: PopulationManager.h:60
@ TOP_OliveMoth
Definition: PopulationManager.h:72
@ TOP_Spider
Definition: PopulationManager.h:62
@ TOP_Dormouse
Definition: PopulationManager.h:75
@ TOP_MarshFritillary
Definition: PopulationManager.h:74
@ TOP_Partridge
Definition: PopulationManager.h:65
Definition: AOR_Probe.h:6
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:53
Class to handle statistics and constructs based on allele frequencies.
Definition: GeneticMaterial.h:62
A class defining an animals position.
Definition: PopulationManager.h:170
unsigned m_x
Definition: PopulationManager.h:172
unsigned m_y
Definition: PopulationManager.h:173
TTypesOfLandscapeElement m_EleType
Definition: PopulationManager.h:174
TTypesOfVegetation m_VegType
Definition: PopulationManager.h:175
The landscape class containing all environmental and topographical data.
Definition: landscape.h:113
int SupplySimAreaHeight(void)
Definition: landscape.h:1637
int SupplySimAreaWidth(void)
Definition: landscape.h:1632
int SupplyPolyRef(int a_x, int a_y)
Definition: landscape.h:1488
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: maperrormsg.cpp:59
Base class for all population managers.
Definition: PopulationManager.h:424
FILE * ReallyBigOutputPrb
Definition: PopulationManager.h:595
AOR_Probe * m_AOR_Probe
Definition: PopulationManager.h:526
unsigned SupplyListIndexSize()
Definition: PopulationManager.h:468
virtual void DoLast()
Definition: PopulationManager.cpp:530
virtual int SupplyCovPosx(int)
Definition: PopulationManager.h:626
int SimH
Definition: PopulationManager.h:511
virtual float Probe(int ListIndex, probe_data *p_TheProbe)
Definition: PopulationManager.cpp:680
int SupplySimH()
Definition: PopulationManager.h:455
int ProbeFileInput(char *p_Filename, int p_ProbeNo)
Definition: PopulationManager.cpp:574
char * ProbeReportTimed(int a_time)
Definition: PopulationManager.cpp:1300
FILE * RipleysOutputPrb7
Definition: PopulationManager.h:589
virtual void TheAOROutputProbe()
Definition: PopulationManager.cpp:924
const char * m_ListNames[32]
Definition: PopulationManager.h:537
virtual void TheReallyBigOutputProbe()
Definition: PopulationManager.cpp:913
char m_SimulationName[255]
Definition: PopulationManager.h:513
virtual void BreedingPairsOutput(int)
Definition: PopulationManager.h:641
virtual void Catastrophe(int)
Definition: PopulationManager.h:440
FILE * m_AlleleFreqsFile
Definition: PopulationManager.h:528
FILE * RipleysOutputPrb1
Definition: PopulationManager.h:583
virtual void SupplyLocXY(unsigned listindex, unsigned j, int &x, int &y)
Definition: PopulationManager.h:493
vector< unsigned > m_LiveArraySize
Definition: PopulationManager.h:524
virtual int SupplyPegPosx(int)
Definition: PopulationManager.h:620
FILE * RipleysOutputPrb12
Definition: PopulationManager.h:594
FILE * RipleysOutputPrb8
Definition: PopulationManager.h:590
void LamdaBirth(int x, int y, int z)
Definition: PopulationManager.h:606
virtual void Run(int NoTSteps)
Definition: PopulationManager.cpp:337
virtual bool OpenTheBreedingSuccessProbe()
Definition: PopulationManager.h:638
long int lamdagrid[2][257][257]
Definition: PopulationManager.h:597
bool ProbesSet
Definition: PopulationManager.h:514
FILE * RipleysOutputPrb
Definition: PopulationManager.h:582
virtual void ImpactedProbe()
Definition: PopulationManager.cpp:672
FILE * m_EasyPopRes
Definition: PopulationManager.h:529
unsigned BeforeStepActions[12]
Definition: PopulationManager.h:542
int SupplySimW()
Definition: PopulationManager.h:452
virtual ~Population_Manager(void)
Definition: PopulationManager.cpp:266
void OpenTheAOROutputProbe(string a_AORFilename)
Definition: PopulationManager.cpp:771
void SortStateR(unsigned Type)
Definition: PopulationManager.cpp:1008
int m_SeasonNumber
Holds the season number. Used when running goose and hunter sims.
Definition: PopulationManager.h:544
FILE * RipleysOutputPrb11
Definition: PopulationManager.h:593
virtual void DoFirst()
Definition: PopulationManager.cpp:320
virtual void CloseTheReallyBigOutputProbe()
Definition: PopulationManager.cpp:904
int m_catastrophestartyear
Definition: PopulationManager.h:532
FILE * TestFile
Definition: PopulationManager.h:539
Population_Manager(Landscape *L)
Definition: PopulationManager.cpp:221
bool IsLast(unsigned listindex)
Definition: PopulationManager.h:481
virtual void Catastrophe()
Definition: PopulationManager.cpp:1109
const char * SupplyStateNames(int i)
Definition: PopulationManager.h:497
void LamdaBirth(int x, int y)
Definition: PopulationManager.h:603
void SortState(unsigned Type)
Definition: PopulationManager.cpp:999
const char * StateNames[100]
Definition: PopulationManager.h:531
void LamdaDumpOutput()
Definition: PopulationManager.cpp:657
FILE * RipleysOutputPrb9
Definition: PopulationManager.h:591
void SetNoProbes(int a_pn)
Definition: PopulationManager.h:431
int SupplyState(unsigned listindex, unsigned j)
Definition: PopulationManager.h:490
virtual void GeneticsResultsOutput(FILE *, unsigned)
Definition: PopulationManager.h:658
void LamdaClear()
Definition: PopulationManager.h:609
virtual bool StepFinished()
Overrides the population manager StepFinished - there is no chance that hunters do not finish a step ...
Definition: PopulationManager.cpp:498
TAnimal * SupplyAnimalPtr(int a_index, int a_animal)
Returns the pointer indexed by a_index and a_animal. Note NO RANGE CHECK.
Definition: PopulationManager.h:465
char * SpeciesSpecificReporting(int a_species, int a_time)
Definition: PopulationManager.cpp:1121
FILE * RipleysOutputPrb5
Definition: PopulationManager.h:587
virtual int TheBreedingSuccessProbe(int &, int &, int &, int &, int &, int &)
Definition: PopulationManager.h:651
virtual void DisplayLocations()
Definition: PopulationManager.cpp:560
FILE * RipleysOutputPrb10
Definition: PopulationManager.h:592
bool OpenTheRipleysOutputProbe(string a_NWordFilename)
Definition: PopulationManager.cpp:757
bool CheckXY(int l, int i)
Debug method to test for out of bounds coordinates.
Definition: PopulationManager.cpp:1518
virtual void TheRipleysOutputProbe(FILE *a_prb)
Definition: PopulationManager.cpp:918
int GetSeasonNumber()
Get the season number.
Definition: PopulationManager.h:578
virtual bool OpenTheBreedingPairsProbe()
Definition: PopulationManager.h:635
char * ProbeReport(int a_time)
Definition: PopulationManager.cpp:1273
TTypesOfPopulation GetPopulationType()
Definition: PopulationManager.h:576
FILE * RipleysOutputPrb6
Definition: PopulationManager.h:588
unsigned m_ListNameLength
Definition: PopulationManager.h:538
int m_StepSize
Definition: PopulationManager.h:533
virtual bool OpenTheFledgelingProbe()
Definition: PopulationManager.h:632
bool OpenTheMonthlyRipleysOutputProbe()
Definition: PopulationManager.cpp:778
FILE * RipleysOutputPrb3
Definition: PopulationManager.h:585
void ImpactProbeReport(int a_Time)
Definition: PopulationManager.cpp:1321
void EmptyTheArray()
Removes all objects from the TheArray by deleting them and clearing TheArray.
Definition: PopulationManager.cpp:962
int IndexArrayX[5][10000]
Definition: PopulationManager.h:509
void LamdaDeath(int x, int y)
Definition: PopulationManager.h:599
FILE * TestFile2
Definition: PopulationManager.h:540
const char * SupplyListName(int i)
Definition: PopulationManager.h:478
virtual void FledgelingProbeOutput(int, int)
Definition: PopulationManager.h:654
unsigned PartitionLiveDead(unsigned Type)
Definition: PopulationManager.cpp:1015
unsigned SimWH
Definition: PopulationManager.h:512
int SupplyStepSize()
Definition: PopulationManager.h:449
unsigned SimHH
Definition: PopulationManager.h:512
virtual void DoBefore()
Definition: PopulationManager.cpp:328
void Shuffle_or_Sort(unsigned Type)
Definition: PopulationManager.cpp:1073
void IncLiveArraySize(int a_listindex)
Increments the number of 'live' objects for a list index in the TheArray.
Definition: PopulationManager.h:437
unsigned SupplyStateNamesLength()
Definition: PopulationManager.h:500
unsigned SupplyListSize(unsigned listindex)
Definition: PopulationManager.h:471
virtual void CloseTheRipleysOutputProbe()
Definition: PopulationManager.cpp:874
virtual int SupplyPegPosy(int)
Definition: PopulationManager.h:623
ofstream * AOROutputPrb
Definition: PopulationManager.h:581
virtual void TheGeneticProbe(unsigned, int, unsigned &)
Definition: PopulationManager.h:656
void SortX(unsigned Type)
Definition: PopulationManager.cpp:979
virtual void DoAfter()
Definition: PopulationManager.cpp:513
TTypesOfPopulation m_population_type
Definition: PopulationManager.h:580
void SortXIndex(unsigned Type)
Definition: PopulationManager.cpp:1027
TAnimal * FindClosest(int x, int y, unsigned Type)
Definition: PopulationManager.cpp:937
FILE * RipleysOutputPrb2
Definition: PopulationManager.h:584
bool BeginningOfMonth()
Definition: PopulationManager.cpp:1102
FILE * m_GeneticsFile
Definition: PopulationManager.h:527
void SortY(unsigned Type)
Definition: PopulationManager.cpp:989
FILE * RipleysOutputPrb4
Definition: PopulationManager.h:586
virtual void BreedingSuccessProbeOutput(double, int, int, int, int, int, int, int)
Definition: PopulationManager.h:649
virtual void DoAlmostLast()
Definition: PopulationManager.cpp:522
vector< TListOfAnimals > TheArray
Definition: PopulationManager.h:534
virtual int SupplyCovPosy(int)
Definition: PopulationManager.h:629
unsigned int FarmAnimalCensus(unsigned int a_farm, unsigned int a_typeofanimal)
Definition: PopulationManager.cpp:1261
unsigned GetLiveArraySize(int a_listindex)
Gets the number of 'live' objects for a list index in the TheArray.
Definition: PopulationManager.h:433
virtual int TheFledgelingProbe()
Definition: PopulationManager.h:646
probe_data * TheProbe[100]
Definition: PopulationManager.h:510
int m_NoProbes
Definition: PopulationManager.h:525
bool OpenTheReallyBigProbe()
Definition: PopulationManager.cpp:859
void Shuffle(unsigned Type)
Definition: PopulationManager.cpp:1055
void LOG(const char *fname)
Definition: PopulationManager.cpp:294
int SupplyListNameLength()
Definition: PopulationManager.h:461
virtual int TheBreedingFemalesProbe(int)
Definition: PopulationManager.h:643
int SimW
Definition: PopulationManager.h:511
Landscape * m_TheLandscape
Definition: PopulationManager.h:515
unsigned StateNamesLength
Definition: PopulationManager.h:535
void CloseTheMonthlyRipleysOutputProbe()
Definition: PopulationManager.cpp:885
A small class to hold the pointers to active population managers.
Definition: PopulationManager.h:669
PopulationManagerList()
Definition: PopulationManager.h:671
Population_Manager * GetPopulation(TTypesOfPopulation a_pt)
Definition: PopulationManager.h:673
Population_Manager * m_populationlist[TOP_foobar]
Definition: PopulationManager.h:675
void SetPopulation(Population_Manager *p_pm, TTypesOfPopulation a_pt)
Definition: PopulationManager.h:672
Part of the basic ALMaSS system (obselete)
Definition: PopulationManager.h:187
unsigned m_Range_y
Definition: PopulationManager.h:192
int m_Age
Definition: PopulationManager.h:190
unsigned m_Range_x
Definition: PopulationManager.h:191
unsigned m_OldRange_y
Definition: PopulationManager.h:194
unsigned m_OldRange_x
Definition: PopulationManager.h:193
int m_Size
Definition: PopulationManager.h:189
Definition: PopulationManager.h:324
double m_Sum
Definition: PopulationManager.h:332
double m_SumX
Definition: PopulationManager.h:333
double get_meanvalue()
Returns the mean.
Definition: PopulationManager.h:366
void remove_variable(double x)
Remove a value.
Definition: PopulationManager.h:351
double m_n
Definition: PopulationManager.h:331
double get_N()
Returns the number of values.
Definition: PopulationManager.h:358
double get_Total()
Returns the mean.
Definition: PopulationManager.h:362
SimpleStatistics()
SimpleStatistics constructor.
Definition: PopulationManager.h:337
double m_K
Definition: PopulationManager.h:330
double get_varianceP()
Returns the population variance.
Definition: PopulationManager.h:371
double get_SD()
Returns the sample standard deviation.
Definition: PopulationManager.h:387
double get_varianceS()
Returns the sample variance.
Definition: PopulationManager.h:379
void ClearData()
Clears the data.
Definition: PopulationManager.h:403
double get_SE()
Returns the sample standard error.
Definition: PopulationManager.h:395
double m_SumX2
Definition: PopulationManager.h:334
void add_variable(double x)
Add a value.
Definition: PopulationManager.h:342
The base class of all ALMaSS objects requiring Step code.
Definition: PopulationManager.h:113
virtual void BeginStep(void)
BeingStep behaviour - must be implemented in descendent classes.
Definition: PopulationManager.h:137
virtual ~TALMaSSObject()
The destructor for TALMaSSObject.
Definition: PopulationManager.cpp:1393
bool m_StepDone
Indicates whether the iterative step code is done for this timestep.
Definition: PopulationManager.h:118
void SetStepDone(bool a_bool)
Sets the step done indicator flag.
Definition: PopulationManager.h:133
int GetCurrentStateNo()
Returns the current state number.
Definition: PopulationManager.h:121
virtual void Step(void)
Step behaviour - must be implemented in descendent classes.
Definition: PopulationManager.h:139
void OnArrayBoundsError()
Used for debugging only, tests basic object properties.
Definition: PopulationManager.cpp:1427
TALMaSSObject()
The constructor for TALMaSSObject.
Definition: PopulationManager.cpp:1379
virtual void EndStep(void)
EndStep behaviour - must be implemented in descendent classes.
Definition: PopulationManager.h:141
bool GetStepDone()
Returns the step done indicator flag.
Definition: PopulationManager.h:129
int m_CurrentStateNo
The basic state number for all objects - '-1' indicates death.
Definition: PopulationManager.h:116
virtual void ReinitialiseObject()
Used to re-use an object - must be implemented in descendent classes.
Definition: PopulationManager.h:143
void SetCurrentStateNo(int a_num)
Sets the current state number.
Definition: PopulationManager.h:125
The base class for all ALMaSS animal classes.
Definition: PopulationManager.h:205
int m_Location_y
Definition: PopulationManager.h:228
AnimalPosition SupplyPosition()
Definition: PopulationManager.cpp:1345
void SetX(int a_x)
Definition: PopulationManager.h:240
virtual void ReinitialiseObject(int x, int y, Landscape *L)
Used to re-use an object - must be implemented in descendent classes.
Definition: PopulationManager.h:257
virtual void EndStep(void)
EndStep behaviour - must be implemented in descendent classes.
Definition: PopulationManager.h:254
virtual void KillThis()
Definition: PopulationManager.h:219
TAnimal(int x, int y, Landscape *L)
Definition: PopulationManager.cpp:1367
virtual void Dying()
Definition: PopulationManager.h:266
int Supply_m_Location_x()
Definition: PopulationManager.h:213
unsigned SupplyFarmOwnerRef()
Definition: PopulationManager.cpp:1359
int m_Location_x
Definition: PopulationManager.h:225
int Supply_m_Location_y()
Definition: PopulationManager.h:216
void CheckManagementXY(int x, int y)
Definition: PopulationManager.cpp:1417
virtual void CopyMyself()
Definition: PopulationManager.h:224
int SupplyPolygonRef()
Definition: PopulationManager.h:210
virtual void BeginStep(void)
BeingStep behaviour - must be implemented in descendent classes.
Definition: PopulationManager.h:250
void CorrectWrapRound()
Corrects wrap around co-ordinate problems.
Definition: PopulationManager.h:231
virtual int WhatState()
Definition: PopulationManager.h:263
Landscape * m_OurLandscape
Definition: PopulationManager.h:229
void SetY(int a_y)
Definition: PopulationManager.h:243
virtual bool OnFarmEvent(FarmToDo)
Definition: PopulationManager.h:271
APoint SupplyPoint()
Definition: PopulationManager.h:209
void CheckManagement(void)
Definition: PopulationManager.cpp:1404
virtual void Step(void)
Step behaviour - must be implemented in descendent classes.
Definition: PopulationManager.h:252
Data structure to hold & output probe data probe data is designed to be used to return the number of ...
Definition: PopulationManager.h:284
void FileAppendOutput(int No, int time)
Definition: PopulationManager.cpp:1462
unsigned m_NoAreas
Definition: PopulationManager.h:292
TTypesOfVegetation m_RefVeg[25]
Definition: PopulationManager.h:297
void FileOutput(int No, int time, int ProbeNo)
Definition: PopulationManager.cpp:1447
int m_Time
Definition: PopulationManager.h:287
void SetFile(ofstream *F)
Definition: PopulationManager.cpp:1504
ofstream * m_MyFile
Definition: PopulationManager.h:286
ofstream * OpenFile(char *Nme)
Definition: PopulationManager.cpp:1490
void CloseFile()
Definition: PopulationManager.cpp:135
bool OpenForAppendToFile()
Definition: PopulationManager.h:308
char m_MyFileName[255]
Definition: PopulationManager.h:288
rectangle m_Rect[10]
Definition: PopulationManager.h:293
unsigned m_RefFarms[25]
Definition: PopulationManager.h:299
probe_data()
Definition: PopulationManager.cpp:1479
bool m_FileRecord
Definition: PopulationManager.h:290
unsigned m_NoFarms
Definition: PopulationManager.h:296
TTypesOfLandscapeElement m_RefEle[25]
Definition: PopulationManager.h:298
unsigned m_NoVegTypes
Definition: PopulationManager.h:295
bool m_TargetTypes[10]
Definition: PopulationManager.h:301
~probe_data()
Definition: PopulationManager.cpp:1513
unsigned m_NoEleTypes
Definition: PopulationManager.h:294
unsigned m_ReportInterval
Definition: PopulationManager.h:291
class MapErrorMsg * g_msg
This pointer provides access the to the internal ALMaSS error message system.
Definition: maperrormsg.cpp:41
@ WARN_FILE
Definition: maperrormsg.h:37
A struct of 100 ints.
Definition: PopulationManager.h:87
int n[100]
Definition: PopulationManager.h:89
A struct defining two x,y coordinate sets of positive co-ords only.
Definition: PopulationManager.h:98
unsigned m_x1
Definition: PopulationManager.h:100
unsigned m_x2
Definition: PopulationManager.h:102
unsigned m_y2
Definition: PopulationManager.h:103
unsigned m_y1
Definition: PopulationManager.h:101
TTypesOfLandscapeElement
Definition: tole_declaration.h:36
TTypesOfVegetation
Definition: tov_declaration.h:30
FarmToDo
Definition: treatment.h:31